#pragma once
#pragma warning( disable : 4290 )

#include <vector>
#include "IllegalArgumentException.h"
#include "Input.h"

class Neuron
{
private:
	float _output;
	std::vector <Input> _inputs;
	int _inputsQuantity;
public:
	Neuron(unsigned int inputsQuantity)throw(IllegalArgumentException);
	~Neuron(void);
	float getOutput();
	void setInputsWeights(std::vector <float> weights);
	void setInputsValues(std::vector<float> values);
	std::vector<float> getInputsWeghts();
	std::vector<float> getInputsValues();
	int getInputsQuantity();
	float calculateOutput();

};